package db_wms_plugin

import (
	"gorm.io/gorm"
	"time"
)

type UpdateBeforePlugin struct{}

func (t *UpdateBeforePlugin) Name() string {
	return "update_before_plugin"
}

func (t *UpdateBeforePlugin) Initialize(db *gorm.DB) error {
	return db.Callback().Update().Before("gorm:update").Register("updateBefore", t.beforeUpdate)
}

func (t *UpdateBeforePlugin) beforeUpdate(db *gorm.DB) {
	db.Statement.SetColumn("updated_at", time.Now(), true)
	//////设置创建人
	//tmp := db.Statement.Context.Value("jwtInfo")
	//if tmp != nil { // 不为空
	//	jwtInfo := tmp.(*fw_jwt.CustomClaims)
	//	db.Statement.SetColumn("updated_by", jwtInfo.UserId, true)
	//}
}
